#ifndef _AP_SOCKET_LISTENER_H_
#define _AP_SOCKET_LISTENER_H_
#include <string>

class LIBCHATSIO_API SocketEventListener {
public:
	virtual void onConnected() = 0;

	virtual void onClientLogin() = 0;

	virtual void onClientLogoff() = 0;

	virtual void onClientJoined(const char *roomId, const char *userId) = 0;

	virtual void onClientLeaved(const char *roomId) = 0;

	virtual void onDisconnected(const char *reason) = 0;

	virtual void onPeerJoined(const char *userId) = 0;

	virtual void onPeerLeaved(const char *userId) = 0;

	virtual void onMessage(const char *from, const char *to, const char *type, const char *message) = 0;

	virtual void onMessageSent(const char *to, const char *message) = 0;

	virtual void onClientError(int what, int extra) = 0;
};

#endif // _AP_SOCKET_LISTENER_H_